#include <stdio.h>
#include <stdlib.h>



void test(int n);

int main()
{
    test(0);

    int *p = malloc(200);
    p = realloc(p, 400);//在p的基础上，将堆内存扩展到400个字节
    p = realloc(p, 100);//在p的基础上，将堆内存缩小到100个字节

    int *p1 = realloc(NULL, 100);
    //如果第一个参数是NULL,那么realloc的作用和malloc一样
    return 0;
}


//递归
//典型的入栈和出栈的过程
void test(int n)
{
    printf("%p, n = %d\n", &n, n);
    if (n < 10)
        test(n + 1);
    printf("%p, n = %d\n", &n, n);
}


//c和c++ 语言的魅力
//可以自由的控制内存的每一个字节，
//其他语言做不到
